const $ = require('../../utils/util.js');

// pages/me/me.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    dialog: false,
    isLogin: false,
    nickname: "未登录",
    header: "../../res/img/header.png",
    score: 0,//用户积分
    redType: 0,//红包类型
    redScore: 0,//红包积分
    redCount: 0,//红包份数
    redInfo: "大吉大利，今晚吃鸡"//红包备注
  },

  /**
   * 打开底部的dialog
   */
  openBottomDialog(){
    this.setData({
      dialog: true
    });
  },

  closeDialog(){
    this.setData({
      dialog: false
    });
  },

  /**
   * 获取红包类型
   */
  selectRedType(data){
    console.log("--->", data);
    this.setData({
      redType: data.detail.value
    });
  },

  /**
   * 红包的相关参数的设置事件
   */
  redScoreInput(data) {
    this.setData({
      redScore: data.detail.value
    });
  },

  redCountInput(data) {
    this.setData({
      redCount: data.detail.value
    });
  },

  redInfoInput(data) {
    this.setData({
      redInfo: data.detail.value
    });
  },

  /**
   * 发送红包
   */
  sendRed(){
    $.ajax({
      type: "POST",
      url: "/red/send",
      data: {
        type: this.data.redType, 
        scount: this.data.redScore,
        number: this.data.redCount,
        info: this.data.redInfo
      }, 
      success: (data) => {
        this.setData({
          dialog: false
        });

        this.querySocre();
      }
    });
  },


  /**
   * 获取用户信息
   */
  getUserInfo(){
    wx.getUserProfile({
      desc: "用于进行小程序端的登录",
      success: (data) => {
        this.setData({
          nickname: data.userInfo.nickName,
          header: data.userInfo.avatarUrl
        });

        //进行登录
        $.login({
          header: this.data.header,
          nickname: this.data.nickname,
          success: () => {
            this.setData({
              isLogin: true
            });

            //重新查积分
            this.querySocre();
          }
        });
      }
    });
  },


  /**
   * 查询用户积分
   */
  querySocre(){
    $.ajax({
      url: "/wx/score/query",
      success: (data) => {
        this.setData({
          score: data.score
        });
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var loginToken = wx.getStorageSync("loginToken");
    if(loginToken){
      //已经登录过的
      this.setData({
        header: wx.getStorageSync("header"),
        nickname: wx.getStorageSync("nickname"),
        isLogin: true
      });

      //查询用户最新的积分
      this.querySocre();
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

    //封装一个异步的promise对象
    const promise = new Promise(resolve => {
      //发送红包的请求
      $.ajax({
        type: "POST",
        url: "/red/send",
        data: {
          type: this.data.redType, 
          scount: this.data.redScore,
          number: this.data.redCount,
          info: this.data.redInfo
        }, 
        success: (data) => {
          this.setData({
            dialog: false
          });

          this.querySocre();

          //封装一个异步的红包参数
          resolve({
            title: this.data.redInfo,
            path: "/pages/robred/robred?redid=" + data,
            imageUrl: "/res/img/red.png"
          });
        }
      });
    });

    return {
      title: this.data.redInfo,
      path: "/pages/robred/robred?redid=",
      imageUrl: "/res/img/red.png",
      promise
    }
  }
})